home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / il / ilMpManager.z / ilMpManager
Encoding:
Text File  |  2002-10-03  |  7.9 KB  |  199 lines

  1.  
  2.  
  3.  
  4. iiiillllMMMMppppMMMMaaaannnnaaaaggggeeeerrrr((((3333))))     IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll     iiiillllMMMMppppMMMMaaaannnnaaaaggggeeeerrrr((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      iiiillllMMMMppppMMMMaaaannnnaaaaggggeeeerrrr - manages parallel operations
  10.  
  11. IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
  12.      ilMpNode
  13.  
  14. HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
  15.      #include <il/ilMpManager.h>
  16.  
  17. CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.      ilMpManager is derived from ilMpNode and manages an asynchronous,
  19.      parallel operation. The operation is broken down into concurrently
  20.      executing requests, represented by ilMpRequest (also derived from
  21.      ilMpNode).
  22.  
  23. CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
  24.      CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr
  25.  
  26.           ilMpManager(ilMpNode* parent=NULL)
  27.  
  28.      SSSSyyyynnnncccchhhhrrrroooonnnniiiizzzzaaaattttiiiioooonnnn mmmmeeeetttthhhhooooddddssss
  29.  
  30.           ilStatus start(ilMpManager** pMgr)
  31.           virtual void go()
  32.           ilStatus wait()
  33.           int isDone()
  34.           void markForDelete()
  35.           void addCompletionCallback(ilCallback* callBack,
  36.                                      int flags=ilMpDeleteMgr)
  37.  
  38.      AAAAbbbboooorrrrttttiiiinnnngggg
  39.  
  40.           ilStatus abort(int flags=0)
  41.  
  42.  
  43. FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
  44.      iiiillllMMMMppppMMMMaaaannnnaaaaggggeeeerrrr(((())))
  45.  
  46.           ilMpManager(ilMpNode* parent=NULL)
  47.  
  48.  
  49.           Constructs an ilMpManager with the indicated _p_a_r_e_n_t.  When all
  50.           dependent request of this manager are completed the parent will be
  51.           notified.  Derived classes should add their dependent request in the
  52.           contructor.
  53.  
  54.      aaaabbbboooorrrrtttt(((())))
  55.  
  56.           ilStatus abort(int flags=0)
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiillllMMMMppppMMMMaaaannnnaaaaggggeeeerrrr((((3333))))     IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll     iiiillllMMMMppppMMMMaaaannnnaaaaggggeeeerrrr((((3333))))
  71.  
  72.  
  73.  
  74.           This method aborts all pending operations for this manager and (by
  75.           default) waits for any in progress operations to complete. This is
  76.           only allowed on top-level managers (those with no parent) that have
  77.           not been marked for deletion; an error status will be returned
  78.           otherwise.
  79.  
  80.           The _f_l_a_g_s parameter is formed from the logical OR of the following
  81.           values:
  82.  
  83.           ilMpAbortNoWait     If set this abort will be initiated and then
  84.                               immediately return without waiting for the
  85.                               operation to complete; the wwwwaaaaiiiitttt() method can be
  86.                               used to wait for completion later.
  87.  
  88.           ilMpDeleteMgr       If set then either mark the manager for deletion
  89.                               (if we didn't wait) or delete it outright.
  90.  
  91.      aaaaddddddddCCCCoooommmmpppplllleeeettttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkk(((())))
  92.  
  93.           void addCompletionCallback(ilCallback* callBack,
  94.                                      int flags=ilMpDeleteMgr)
  95.  
  96.  
  97.           This method adds a call back, _c_a_l_l_B_a_c_k, to be called when all
  98.           dependencies are completed, by default this implicitly marks the
  99.           manager for deletion.  The call back can also be automatically
  100.           deleted when the manager completes, using the flags parameter.
  101.           Possible values for flags are:
  102.  
  103.           ilMpDeleteMgr   mark the manager for deletion
  104.  
  105.           ilMpDeleteCb    delete the callback after it executes.
  106.  
  107.      ggggoooo(((())))
  108.  
  109.           virtual void go()
  110.  
  111.  
  112.           This method allows requests added in the constructor to start
  113.           processing; this must be called after construction (not in the
  114.           contructor) to ensure that the manager's virtuals (and derived class
  115.           contructors) are properly initialized before the reqeusts try to
  116.           reference their parent.
  117.  
  118.      iiiissssDDDDoooonnnneeee(((())))
  119.  
  120.           int isDone()
  121.  
  122.  
  123.           This method returns TRUE if all of this mananger's dependents have
  124.           completed; FALSE otherwise.
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. iiiillllMMMMppppMMMMaaaannnnaaaaggggeeeerrrr((((3333))))     IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll     iiiillllMMMMppppMMMMaaaannnnaaaaggggeeeerrrr((((3333))))
  137.  
  138.  
  139.  
  140.      mmmmaaaarrrrkkkkFFFFoooorrrrDDDDeeeelllleeeetttteeee(((())))
  141.  
  142.           void markForDelete()
  143.  
  144.  
  145.           This method marks this manager to be deleted when all dependencies
  146.           are completed.  Once this method is called the manager should be
  147.           treated as if it has been deleted (i.e. don't reference it anymore).
  148.  
  149.      ssssttttaaaarrrrtttt(((())))
  150.  
  151.           ilStatus start(ilMpManager** pMgr)
  152.  
  153.  
  154.           This is a convenience method that calls ggggoooo() and returns the address
  155.           of this manager via _p_M_g_r if it is non-NULL. This method then
  156.           determines whether the operation is synchronous or not by checking
  157.           to see if both this manager's parent and _p_M_g_r are NULL. If _p_M_g_r is
  158.           NULL this manager will be marked for deletion unless its parent is
  159.           also NULL in which case this is assumed to be a synchronous
  160.           operation and wwwwaaaaiiiitttt() will be called.
  161.  
  162.      wwwwaaaaiiiitttt(((())))
  163.  
  164.           ilStatus wait()
  165.  
  166.  
  167.           This method waits for all of this manager dependencies to complete.
  168.           Don't call this on a manager that's been marked for deletion.
  169.  
  170. IIIINNNNHHHHEEEERRRRIIIITTTTEEEEDDDD MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS
  171.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllMMMMppppNNNNooooddddeeee
  172.      addProcessingTime(), clearStatus(), getDepth(), getParent(),
  173.      getProcessingTime(), getState(), getStatus(), getTimingWeight(),
  174.      inhibitAbort(), isAborting(), setStatus(), setTimingWeight()
  175.  
  176. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  177.      ilMpNode(3), ilMpRequest(3)
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.